13 research outputs found

    A Study on Formal Verification for JavaScript Software

    Get PDF
    Information security is still a major problem for users of websites and hybrid mobile applications. While many apps and websites come with terms of service agreements between the developer and end user, there is no rigorous mechanism in place to ensure that these agreements are being followed. Formal methods can offer greater confidence that these policies are being followed, but there is currently no widely adopted tool that makes formal methods available for average consumers. After studying the current state-of-the-art in JavaScript policy enforcement and verification, this research proposes several new techniques for applying model checking to JavaScript that strikes a balance of low runtime overhead and fine-grained policy enforcement that other techniques do not achieve

    An Extension and Formalization of a Specification Language for Mixed-Initiative, Human-Computer Dialogues

    No full text
    The use of human-computer dialogue is playing an increasingly prominent role in interactions conducted at kiosks (e.g., withdrawing money from an ATM), on smart phones (e.g., booking a flight), and on the web (e.g., customer service chatbots). Some human-computer dialogues involve a lively exchange of system-initiated and user-initiated actions. These dialogues are called mixed-initiative dialogues and also sometimes involve the pursuit of multiple sub-dialogue threads at once, which are woven together in a manner akin to concurrently executing threads. However, existing dialogue specification languages have difficulty expressing these dialogues concisely. In this work, we improve the expressiveness of a dialogue authoring language based on programming language concepts (e.g., curried functions) by augmenting it with additional high-level abstractions to support concise specification of task-based, mixed-initiative dialogues that resemble concurrently executing threads. We also formalize the process of simplifying and staging such dialogues specified in the augmented language using notions from discrete mathematics. We demonstrate that dialogue specifications written in the original authoring language can be compressed by rewriting them using the new abstractions. We also operationalize the formally specified dialogue simplification and staging rules in a Haskell programming implementation. The augmented dialogue authoring language is evaluated from practical (i.e., case study), conceptual (i.e., comparisons to similar systems such as VoiceXML), and theoretical perspectives. The results indicate that the augmented language enables concise representation of dialogues composed of multiple concurrent sub-dialogues and improves the compression of dialogue expressions reported in prior research. The Haskell implementation of the simplification/staging rules provides a proof of concept that the formal semantics are sufficient to implement a dialogue system specified with the augmented language

    Thirst neurons anticipate the homeostatic consequences of eating and drinking

    No full text
    Thirst motivates animals to drink in order to maintain fluid balance. Traditionally, thirst has been viewed as a homeostatic response to changes in the blood volume or tonicity(1–3). However, most drinking behavior is regulated too rapidly to be controlled by blood composition directly and instead appears to anticipate homeostatic imbalances before they arise(4–11). How this is achieved remains unknown. Here we reveal an unexpected role for the subfornical organ (SFO) in the anticipatory regulation of thirst. We show by monitoring deep-brain calcium dynamics that thirst-promoting SFO neurons respond to inputs from the oral cavity during eating and drinking, which they then integrate with information about the composition of the blood. This integration allows SFO neurons to predict how ongoing food and water consumption will alter fluid balance in the future and then adjust behavior preemptively. Complementary optogenetic manipulations show that this anticipatory modulation is necessary for drinking in multiple contexts. These findings provide a neural mechanism to explain longstanding behavioral observations, including the prevalence of drinking during meals(10,11), the rapid satiation of thirst(7–9), and the fact that oral cooling is thirst-quenching(12–14)
    corecore